Programmable Graphics Pipelines
نویسنده
چکیده
of the Dissertation Programmable Graphics Pipelines Programmability of graphics pipelines has proven to be an extremely valuable tool in the hands of shader authors and game programmers, and is one of the driving forces behind the ubiquity of high-quality visual content across the computing ecosystem. This dissertation presents the design, implementation, and evaluation of an abstraction that extends the programmability of graphics systems from individual shaders to entire pipelines, and addresses the performance, programmability, and flexibility of the resulting implementations. To this end, we propose Piko, a high-level abstraction for designing flexible and efficient pipelines for computer graphics applications. Piko extends traditional pipelines by allowing each stage to consist of three phases, and uses 2D spatial tiling to help express information about not just the algorithm, but the granularity and schedule of computation as well. Having these different programs address different implementation concerns helps optimize a Piko pipeline for multiple scenarios, such as varying application inputs and target platforms. The focus of this dissertation is twofold. First, we motivate the importance of efficient programmable pipelines, and survey existing graphics systems to explore implementation practices that help improve their efficiency. Specifically, we identify concurrency, locality, and fine-grained synchronization as important goals, and explore design practices that help achieve them. Second, we propose an abstraction to embody these practices as first-class constructs. We present a detailed study of how pipelines expressed using Piko could translate to two different architectures, study the behavior of resulting implementations, and compare it to the state of the art in high-performance graphics.
منابع مشابه
Piko: A Design Framework for Programmable Graphics Pipelines
We present Piko, a framework for designing, optimizing, and retargeting implementations of graphics pipelines on multiple architectures. Piko programmers express a graphics pipeline by organizing the computation within each stage into spatial bins and specifying a scheduling preference for these bins. Our compiler, Pikoc, compiles this input into an optimized implementation targeted to a massiv...
متن کاملReal-time Ray Tracing on Programmable Graphics Hardware
Recently a breakthrough has occurred in graphics hardware: fixed function pipelines have been replaced with programmable vertex and fragment processors. In the near future, the graphics pipeline is likely to evolve into a general programmable stream processor capable of more than simply feed-forward triangle rendering. In this paper, we evaluate these trends in programmability of the graphics p...
متن کاملAudio and the Graphics Processing Unit
In recent years, the development of programmable graphics pipelines has placed the power of parallel computation in the hands of consumers. Systems developers are now paying attention to the general purpose computational ability of these graphics processor units, or GPUs, and are using them in novel ways. This paper examines using pixel shaders for executing audio algorithms. We compare GPU per...
متن کاملReal-Time Programmable Volume Rendering
Real-time graphics hardware is rapidly becoming programmable, and has recently incorporated the features needed for direct volume rendering. Unfortunately, the standard interfaces to this hardware are at the assembly language level. When programming at this level, it is difficult re-use and modify existing implementations of volume rendering algorithms, and it is extremely tedious to experiment...
متن کاملComplex Material in Realtime Graphics
Programmable rendering pipelines in modern graphics processing units have created a significant demand for realistically-looking three-dimensional scenes in real-time using more sophisticated illumination models that were even thinkable of a few years ago. However, it will be demonstrated that realistic illumination of complex materials is still too memory-intensive for naïve solutions, so more...
متن کامل